The invention relates to a method for reading and a method for storing data in accordance with the precharacterizing part of claims 1 and 2 and claims 11 and 12, and also to an apparatus for compressing data and decompressing data in accordance with the precharacterizing part of claims 21 and 28.
In modern computer systems, ever more complicated and more powerful applications demand ever more storage space on the bulk memories associated with computer systems. In this context, these bulk memories need to permit fastest possible data access in order not to act as a bottleneck with regard to the performance of the computer system at this point. With a very high data storage requirement, the use of bulk memories permitting random access is therefore desirable.
However, the available capacities of the bulk memories in an ordinary computer system are limited, which means that applications or data bases requiring a lot of memory need to be relocated with some complexity in order to cover the continually rising storage space requirement.
It is an object of the invention to provide methods for storing and methods for reading data and also an apparatus for compressing data and an apparatus for decompressing data, in which the conventional bulk memories and computer systems are used, but where much larger volumes of data can be stored.
This object is achieved by a method for storing data in accordance with claim 1 and in accordance with claim 2, by a method for reading data in accordance with claim 11 and in accordance with claim 12, and by an apparatus for compressing data in accordance with claim 21 and an apparatus for decompressing data in accordance with claim 28.
The method for storing data on a bulk memory using a computer system, where the computer system supplies the data to the bulk memory for storage on the basis of the rules of a file system, where the bulk memory is of the random access type, in which the data are organized in data blocks, where the data blocks are provided for storage on the bulk memory on the basis of the rules of a file system on a computer system supplying the data, where the data blocks contain organization information for managing the data blocks and contain the user information which is to be stored, where cohesive user information areas can be distributed over a plurality of data blocks which are then concatenated to one another using their organization information, provides, in accordance with the invention, that the cohesive user information in one or more data blocks is separated from the organization information and is continuously compiled and, in a subsequent step, compressed using a data compression method, whereupon the compressed volume of data obtained in this manner is split into individual compressed-data packets preselected in terms of their data length, where the compressed-data packets are stored in compressed-data blocks with organization information for management on the bulk memory, organized on the basis of the rules of the file system on the computer system delivering the data, where a plurality of related compressed-data blocks are stored on the bulk memory with cohesive compressed data, distributed over a plurality of compressed-data blocks concatenated to one another using their organization information.
Another method for storing data on a bulk memory using a computer system, which computer system supplies the data to the bulk memory for storage on the basis of the rules of a file system, where the bulk memory is of the random access type, in which the data are organized in data blocks, where the data blocks are provided for storage on the bulk memory on the basis of the rules of a file system on a computer system delivering the data, where the data blocks contain organization information for managing the data blocks and contain the user information which is to be stored, where cohesive user information areas can be distributed over a plurality of data blocks which are then concatenated to one another using their organization information, provides, in accordance with the invention, that the data blocks, which are possibly concatenated to one another using their organization information, are continuously compressed using a data compression method to form a compressed volume of data on the basis of the concatenation before they are stored on the bulk memory, and the compressed volume of data obtained in this manner is split into individual compressed-data packets preselected in terms of their data length, where the compressed-data packets are stored on the bulk memory in compressed-data blocks with organization information for management, where a plurality of related compressed-data blocks are stored on the bulk memory with cohesive Compressed data, distributed over a plurality of compressed-data blocks concatenated to one another using their organization information.
The storage methods illustrated allow hitherto ordinary computer systems which are in use and their bulk memories to continue to be used. In this case, however, the compression achieves a much greater packing density for the data, which further extends the scope of application of the existing computer systems.
In accordance with one preferred method step, the data compression method used is a Huffmann, 1-Byterun, LhA, ZIP or RAR method. The use of compression algorithms which are already known makes the method transparent and opens it to a large number of applications and operating systems on computer installations.
In one advantageous method step, the data compression method is stored in a programmable program store provided for this purpose. This means that one and the same program store can also be used to retrieve the method upon decompression. In addition, the respective method to be used can be replaced flexibly.
In accordance with one advantageous method step, the data blocks provided by the computer system for storage on the bulk memory are first buffer-stored in a write memory. This means that timing problems with the computer installation requesting the data are prevented.
In accordance with one refinement of the method, the organization information is start, end and concatenation information (block pointer), particularly arranged at the start and end of a data block.
In one advantageous method step, the compressed-data blocks have the same structure as the data blocks. This produces the actual data structure on the bulk memory, which means that the step of decompression can also take place in the computer system.
In one particularly advantageous and therefore preferred method step, the bulk memory has a table holding information about the bulk memory""s utilization by data blocks, this table being modified following use of the data compression method and storing on the [lacuna] data blocks with the compressed user information, or the compressed-data blocks [lacuna] the bulk memory being modified in line with their new length and/or number and/or memory position.
The inventive method for reading data from a bulk memory using a computer system, which computer system accesses the stored data in the bulk memory on the basis of the rules of a file system, which bulk memory is of the random access type, in which the data are organized in data blocks, where the data blocks are stored on the bulk memory on the basis of the rules of the file system on a computer system requesting the data, where the data blocks contain organization information, for managing the data blocks and contain the user information which is to be read, where cohesive user information areas can be distributed over a plurality of data blocks which are then concatenated to one another using their organization information, provides that the data blocks are read from the bulk memory, whereupon the cohesive user information in one or more data blocks is separated from the organization information and is continuously stored as related in a buffer store and, in a subsequent step, decompressed using a data decompression method, the decompressed user information is then split into uncompressed data blocks and is concatenated together on the basis of the rules of the file system with organization information about a read memory, and is provided for retrieval by the computer system.
Another method for reading data from a bulk memory using a computer system, which computer system accesses the stored data in the bulk memory on the basis of the rules of a file system, which bulk memory is of the random access type, in which the data are organized in data blocks, where the data blocks contain organization information for managing the data blocks and contain the user information which is to be read, where cohesive user information areas can be distributed over a plurality of data blocks which are then concatenated to one another using their organization information, provides, in accordance with the invention, that the data blocks are read from the bulk memory, whereupon the cohesive user information in one or more data blocks is separated from the organization information and is continuously stored as related, according to its concatenation, in a buffer store, where the user information is compressed compressed-data blocks whose structure is based on the rules of a file system and, in a subsequent step, is decompressed using a data decompression method, the decompressed data blocks structured on the basis of the rules of the file system on the computer system reading the data are then stored, organized on the basis of the rules of the file system, in a read memory for retrieval by the computer system.
This means that computer systems which have also been customary to date can continue to be used without needing to be converted for the inventive method.
In one refinement of the reading methods, the data compression method is a Huffmann, 1-Byterun, LhA, ZIP or RAR method.
In one preferred method step, the data compression method is stored in a programmable program store provided for this purpose.
Another method step advantageously provides that the data blocks provided by the computer system for storage on the bulk memory are first buffer-stored in a write memory.
Advantageously, the compressed-data blocks have the same structure as the data blocks.
Advantageously, the bulk memory has a table holding information about the bulk memory""s utilization by data blocks, this table being modified following use of the data compression method and storing on the [lacuna] data blocks with the compressed user information, or the compressed-data blocks [lacuna] the bulk memory being modified in line with their new length and/or number and/or memory position.
The inventive apparatus for compressing data which are provided for storage by a computer system on a bulk memory of the random access type, which computer system provides the data for storage on a bulk memory on the basis of the rules of a file system, where the data are organized in data blocks, where the data blocks contain organization information for managing the data blocks and contain the user information which is to be stored, where cohesive user information areas can be distributed over a plurality of data blocks which are then concatenated to one another using their organization information, provides that a sorting device is provided which continuously compiles the data blocks, according to the order of the user information which is contained in the data blocks and is distributed over a plurality of data blocks, into a total data packet, and a compression device is provided which compresses the total data packet on the basis of a data compression method and splits the compressed data into data packets and stores these on the bulk memory as compressed-data blocks with organization information for management.
In one advantageous refinement of the invention, the sorting device, when compiling the total data packet, separates the organization information in the file system on the computer system and continuously compiles only the pure user data.
Advantageously, the compressed-data blocks"" structure is organized on the basis of the rules of the file system on the computer system delivering the data.
In accordance with one refinement of the apparatus, a write memory is provided for buffer-storing the data blocks delivered by the computer system in the format of the file system.
Preferably, a method program store is provided in which the compression method for the compression device and/or the sorting code for the sorting device are stored.
Preferably, the bulk memory is a hard disk.
In accordance with another aspect of the invention, an apparatus for decompressing data which are stored on a bulk memory of the random access type, where the data are organized in data blocks, where the data blocks contain organization information for managing the data blocks and contain the user information which is to be stored, where cohesive user information areas can be distributed over a plurality of data blocks which are then concatenated to one another using their organization information, is distinguished in that a sorting device is provided which continuously compiles the data blocks, in accordance with the order of the user information which is contained in the data blocks and is distributed over a plurality of data blocks, into a total data packet, and a data compression device is provided which compresses the total data packet on the basis of a data compression method and splits the compressed data into data packets and stores these on the bulk memory as compressed-data blocks with organization information for management and concatenation thereof.
Advantageously when compiling the total data packet, the sorting device separates the organization information in the file system on the computer system and continuously compiles only the pure user data.
Advantageously, a write memory for buffer-storing the data blocks which are delivered by the computer system in the format of the file system is provided.
Preferably, a method program store is provided in which the compression method for the data compression device and/or the sorting code for the sorting device are stored. This means that the apparatus remains flexible, since the algorithm to be used can be altered. Accordingly, one refinement of the invention provides for the method program store to be reversibly programmable.
Preferably, the bulk memory is a hard disk and/or the apparatus is produced in the hard disk. This makes the advantages of the invention particularly noticeable.
The invention also relates to an apparatus for decompressing data which are stored on a bulk memory of the random access type, where the data are organized in data blocks, where the data blocks contain organization information for managing the data blocks and contain the user information which is to be stored, where cohesive user information areas can be distributed over a plurality of data blocks which are then concatenated to one another using their organization information, where a decompression device is provided which continuously compiles the data blocks, separating the organization information, following reading from the bulk memory in accordance with their user information which they contain, as related on the basis of the concatenation thereof, and the data are then decompressed on the basis of a data decompression method, and the decompressed data are stored in a read memory, provided for this purpose, for reading by a computer system.
In one advantageous refinement of the invention, the decompressed data are split into data packets, and these are stored in the read memory as data blocks with organization information for management, on the basis of the rules of the file system on the computer system retrieving the data, for reading by a computer system.
Advantageously, the apparatus is produced in a hard disk or in a hard disk controller.
Other advantages, peculiarities and expedient developments of the invention can be found in the further subclaims or in subcombinations thereof.